Universal Serial Bus (USB) specification was released in 1996. For solving the long-standing connecting issues between a computer system and its encompassing devices due to complex connecting specification, the USB specification provides a single-spec interface supporting the input/output requirements between the computer system and different kinds of external devices. The USB specification has been modified in several times to match the requirements in marketing and of the developers after USB 1.0 released. The modifications, in USB 1.1 released in 1998, add a new transfer type (interrupt OUT), and in USB 2.0 released in 2000, support a hi-speed specification, add a new interface specification, mini-B connector, and also define new descriptors. After that, On-The-Go (OTG) supplement to the USB 2.0 specification was released in 2001 to accomplish the purposes about better power management and possibilities of multi-role devices. In other word, OTG defines a host function that devices can implement to enable communicating with peripherals.
The main USB base, a host-device structure, is maintained during the period of USB evolution. Referring to FIG. 1 of the drawing, a physical bus topology diagram, disclosed in USB specification revision 2.0 released in 2000 by the USB Implementers Forum, is illustrated. According to FIG. 1, a USB system 100 is consisted of a host 110 and devices 120, wherein the host 110 is connected with the devices 120 by inter-connection. The devices 120 can be classified as three types: device, compound device and composite device.
In the specification of USB, several regular terms have specific meanings: a host, in charge of most controlling and communicating tasks in the USB system, includes a host controller and a root hub with one or more USB ports. A function is defined as a device that provides a capability to the host, such as a mouse or a keyboard. A hub includes one up stream port and at least one down stream port, wherein the up stream port is used for connecting with a host or other hub, and the down stream ports are used for connecting with embedded devices or peripherals. A device is a function, a hub or combinations thereof. Thus, in the host terminal, the compound device is defined as a hub and at least one physical device connected to the hub, and each of the physical device has its own address. For example, a keyboard function and a trackball function can be integrated as a compound device, wherein those functions were be connected to a hub. In viewpoints of the host, a compound device is exactly similar to a single hub connecting with other functions. As shown in FIG. 1, a compound hub is marked in the lower left block. Each of the compound hub and the devices has an independent address. A composite device is a functional device with a plurality of independent interfaces, wherein the interface is defined by means of the descriptor stored in the device. A composite device has only one address, but each of the interfaces has a unique function and is controlled independently. For instance, a composite device can have an interface for sound device as well as have the other interface for controlling panel.
The topology or arrangement of connections, on the USB bus, with six levels at most, is a tiered star. At the center of each star is a hub, and each lines of FIG. 1 is defined as a connection between a host and a hub/function, a hub and the other hub or a node. In the topology of USB disclosed in FIG. 1, each node is either a device or a function. When a USB system is enabled, the addresses of the devices in the USB system are assigned to 0. After that, the USB system requests state information from each device in a device-searching process and assigns addresses to the devices subsequently until each device has a unique address or until the numbers of connecting devices are reached the limitation of the USB system.
According to the above descriptions, it can be found that all data transmitting processes are controlled by the host, which means all other USB devices are slavers and must obey predetermined protocols to response the requests from the host so that the slavers are able to receive and transmit information with standard USB data format. Comparing with other peer to peer connecting structures, the USB system performs a host-device structure and accomplishes the control tasks over a plurality of devices only with one host.
On this account, instead of the complexity due to connections among several peripherals with different kinds of cables, such as RS232 serial-port or parallel interfaces, the USB structure utilizes only one type of transmitting cable to simplify the connecting complication between a host and peripherals, and has the advantages such as plug-and-play, hot attach and detach, low power consumption and low cost.
Because of the booming market of consumer electronics, especially to the portable device market, the USB specification must be modified to provide better abilities about power management and allowing peripherals to operate between two types of USB formats: host and device.
Therefore, USB Implementers Forum released the USB OTG 1.0, and then released USB OTG 1.0a in June 2003 to become a formal specification with practicability after six times modifications. Referring to FIG. 2 of the drawings, classes of the devices defined in USB OTG are illustrated. There are two types of devices, peripheral-only device (POD) and dual-role device (DRD) defined in USB OTG The POD device is similar to device defined above, and the DRD device comprises multiple functions of a USB host and a USB device. Thus, the DRD device must have a new function to switch between the host and the device function. For example, a cell phone can either connect to a host to be defined as a device or connect to a device to turn into a host driving the device.
As the supplement to the USB 2.0 specification, USB OTG as well defines five types of connector components: Mini-A plug, Mini-B plug, Mini-A receptacle, Mini-B receptacle, and Mini-AB receptacle. In the USB OTG specification, The A-device means the main device operating as a host, and generally relates to a DRD device operating in the host type. The b-Device means the slaver device operating as a device. The Mini-AB receptacle is a specification designed for the DRD device to allow both the Mini-A plug or the Mini-B plug to insert into this receptacle and defines the initial role (host or device) of the inserted DRD device to enable the host unit or the device unit therein by the types of the inserting plug. Mini-A receptacle is designed to be placed on a host to connect to an external Mini-A plug. In a parallel manner, the Mini-B receptacle is designed to be placed on a device to connect to an external Mini-B plug. Therefore, types (host or device) of USB equipments are distinguished via different receptacle types in the USB OTG specification.
In the USB OTG specification, a characteristic, compatible with host/device framework in the present USB specification, is that each of two connecting DRD devices can operate between host and device functions alternately. Similarly, hosts in the USB OTG specification are also in charge of the task to initialize data communication processes including bus-reset, descriptor-acquirement and addresses-assignment. After the these procedures, two OTG devices can transmit data by the way of standard transmitting protocols between a host and a device, wherein the exchange of host role between the two devices is defined by a host negotiation protocol (HNP).
In addition, an OTG device has only a connecting port used for connecting with a host terminal or a device terminal, which causes the OTG devices in short of expanding abilities and also limits the applications and market values of the OTG specification.